Creating a sufficiently realistic three-dimensional (3D) effect on a display element in a user interface (UI) typically requires casting a shadow. As the object casting the shadow moves, the shadow must be rendered with properly corresponding changes, in order to preserve the 3D realism. Unfortunately, creating a soft shadow in real-time using conventional techniques may be computationally expensive, and thus may be impractical on untethered, mixed reality (MR) or virtual reality (VR) devices (collectively “VR devices”) that have limited processing power.
A soft shadow effect is typically achieved with real-time lighting simulation, requiring multiple rendering passes and samplings in a shader. Image quality may be relatively low due to coarse resolution of shadow maps. Because higher processing power may consume more power and generate additional heat, rendering realistic shadowing in every frame in real-time has thus not been attainable on VR devices such as untethered head mounted displays (HMDs) with strict thermal requirements.